export default {
	data() {
		return {
			emptyType: 'order',
			emptyShow: false,
			pagenum: 1,
			pagesize: 10,
			downOption: {
				auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
			},
			upOption: {
				auto: false, // 不自动加载
				// page: {
				// 	num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
				// 	size: 10 // 每页数据的数量
				// },
				noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; 默认5
				empty: {
					tip: '~ 暂无订单 ~', // 提示
					btnText: '去逛逛'
				}
			},
			categoryId: '',
			orderList: [], //列表数据
			canIUseGetUserProfile: false,
			ewmimage: '',
		};
	},
	props: {
		i: Number, // 每个tab页的专属下标 (除了支付宝小程序必须在这里定义, 其他平台都可不用写, 因为已在MescrollMoreItemMixin定义)
		index: {
			// 当前tab的下标 (除了支付宝小程序必须在这里定义, 其他平台都可不用写, 因为已在MescrollMoreItemMixin定义)
			type: Number,
			default () {
				return 0;
			}
		},
		listTop: {
			type: Number,
			default () {
				return 10;
			}
		},
		skeyword: {
			type: String,
			default () {
				return '';
			}
		},
		tabObj: {
			type: Object,
			default () {
				return;
			}
		}
	},
	watch: {
		skeyword(newVal, oldVal) {
			if (newVal) {
				// this.mescroll.resetUpScroll()
			}
		}
	},
	created() {
		// #ifdef MP-WEIXIN
		if (wx.getUserProfile) this.canIUseGetUserProfile = true;
		// #endif
	},
	methods: {
		/*下拉刷新的回调 */
		downCallback() {
			// this.pagenum = 1;
			// this.pagesize = 1;
			// 这里加载你想下拉刷新的数据, 比如刷新轮播数据
			// loadSwiper();
			// 下拉刷新的回调,默认重置上拉加载列表为第一页 (自动执行 page.num=1, 再触发upCallback方法 )
			this.mescroll.resetUpScroll();
		},
		/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
		upCallback(page) {
			//联网加载数据
			// if (this.tabs.length > 0) {
			// 	let keyword = this.tabs[this.i].name;
			// }

			this.pagenum = page.num;
			this.pagesize = page.size;

			this.getOrderListData();
			// apiSearch(page.num, page.size, keyword).then(curPageData=>{
			// 	//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
			// 	this.mescroll.endSuccess(curPageData.length);
			// 	//设置列表数据
			// 	if(page.num == 1) this.goods = []; //如果是第一页需手动制空列表
			// 	this.goods=this.goods.concat(curPageData); //追加新数据
			// }).catch(()=>{
			// 	//联网失败, 结束加载
			// 	this.mescroll.endErr();
			// })
		},
		//点击空布局按钮的回调
		emptyClick() {
			this.$util.redirectTo('/pages/index/index/index', {}, 'redirectTo');
		},
		btnsItemClick(e,btn){
			switch(btn.tag){
				case 'ydht':{
					this.ydhtLoadData(e);
					break
				}
				case 'ckbd':{
					this.ckbdLoadData(e);
					break
				}
				case 'ht':{
					this.htLoadData(e);
					break
				}
				case 'ewm':{
					this.ewmLoadData(e);
					break
				}
				case 'pay':{
					this.payLoadCheck(e);
					break
				}
				case 'qxdd':{
					this.qxddLoadCheck(e);
					break
				}
				case 'qpj':{
					this.qpjLoadData(e);
					break
				}
				case 'ckgj':{
					this.ckgjLoadData(e);
					break
				}
				case 'scdd':{
					this.scddLoadData(e);
					break
				}
			}
		},
		getOrderBtns(e) {
			var btns = [{
					show: false,
					title: '运单合同',
					tag: 'ydht',
					backcolor: '#0075E3',
					textcolor: '#fff'
				}, {
					show: false,
					title: '查看保单',
					tag: 'ckbd',
					backcolor: '#394074',
					textcolor: '#fff'
				}, {
					show: false,
					title: '合同',
					tag: 'ht',
					backcolor: '#0075E3',
					textcolor: '#fff'
				}, {
					show: false,
					title: '二维码',
					tag: 'ewm',
					backcolor: '#f39e00',
					textcolor: '#fff'
				}, {
					show: false,
					title: '去支付',
					tag: 'pay',
					backcolor: '#f39e00',
					textcolor: '#fff'
				}, {
					show: false,
					title: '取消订单',
					tag: 'qxdd',
					backcolor: '#dd524d',
					textcolor: '#fff'
				}, {
					show: false,
					title: '去评价',
					tag: 'qpj',
					backcolor: '#f0ad4e',
					textcolor: '#fff'
				}, {
					show: false,
					title: '查看轨迹',
					tag: 'ckgj',
					backcolor: '#A6804C',
					textcolor: '#fff'
				},
				{
					show: false,
					title: '删除订单',
					tag: 'scdd',
					backcolor: '#dd524d',
					textcolor: '#fff'
				}
			]

			//    订单状态（0待审核  1待分配  2待接货  3待支付  4待装车  5待送达  6已送达待评价  7已评价订单完成  99订单已取消  98审核拒绝）
			// ['all', 2, 3, 5, 6, 7, -1, -2]
			// 1运单合同 2查看保单 3合同 4去支付 5二维码 6取消订单 7去评价 8查看轨迹 9删除订单
			btns.forEach(function(item, index) {
				switch (e.status) {
					case 0: {
						if (item.tag == 'qxdd') {
							item.show = true;
						}
						break;
					}
					case 1: {
						if (item.tag == 'qxdd') {
							item.show = true;
						}
						break;
					}
					case 2: {
						if (item.tag == 'qxdd') {
							item.show = true;
						}
						if (item.tag == 'ewm') {
							item.show = true;
						}
						break;
					}
					case 3: {
						if (item.tag == 'pay') {
							item.show = true;
						}
						break;
					}
					case 4: {
						//btns.btn1 = true;
						if (item.tag == 'ewm') {
							item.show = true;
						}
						break;
					}
					case 5: {
						//btns.btn1 = false;
						//   1:现付  2:货到付款 3:提付',
						switch (e.pay_mode) {
							case 1: {
								if (e.is_pay != 1) {
									if (item.tag == 'pay') {
										item.show = true;
									}
								}
								break;
							}
							default: {
								break;
							}
						}
						// btns.btn1 = true;
						if (item.tag == 'ckgj') {
							item.show = true;
						}
						break;
					}
					case 6: {
						// btns.btn1 = false;
						// 1:现付  2:货到付款 3:提付',
						switch (e.pay_mode) {
							case 1:
							case 2: {
								if (e.is_pay != 1) {
									if (item.tag == 'pay') {
										item.show = true;
									}
								}
								break;
							}
							default: {
								break;
							}
						}
						if (item.tag == 'qpj') {
							item.show = true;
						}
						if (item.tag == 'ckgj') {
							item.show = true;
						}
						break;
					}
					case 7: {
						break;
					}
					case 99: {
						if (item.tag == 'scdd') {
							item.show = true;
						}
						break;
					}
					case 98: {
						if (item.tag == 'scdd') {
							item.show = true;
						}
						break;
					}
					default: {
						break;
					}
				}
			});

			// 合同签订状态 1-签署 0 未签
			if (e.shippers_iscontract == '1') {} else {}

			e.btns = btns;
		},
		getOrderStatus(e) {
			this.getOrderBtns(e);
			var statusname = '';
			switch (e.status) {
				case 0: {
					statusname = '待审核';
					break;
				}
				case 1: {
					statusname = '待分配';
					break;
				}
				case 2: {
					statusname = '待接货';
					break;
				}
				case 3: {
					statusname = '待支付';
					break;
				}
				case 4: {
					statusname = '待装车';
					break;
				}
				case 5: {
					statusname = '同城配送';
					statusname = '干线运输';
					break;
				}
				case 6: {
					statusname = '待评价';
					break;
				}
				case 7: {
					statusname = '订单完成';
					break;
				}
				case 99: {
					statusname = '订单已取消';
					break;
				}
				case 98: {
					statusname = '审核拒绝';
					break;
				}
				default: {
					break;
				}
			}
			return statusname;
		},
		getOrderListData(type) {
			var data = {
				status: this.tabObj.status,
				page: this.pagenum,
				end_id: '0'
			};
			this.emptyShow = false;
			this.http.sendRequest({
				api: this.api.order.waybllListApi,
				data: data,
				success: res => {
					this.emptyShow = true;
					this.emptyType = 'order';
					let newArr = [];
					let msg = res.message;
					if (res.success == 'true' && res.data) {
						newArr = res.data.order_list;
					} else {
						this.$util.showToast({
							title: msg
						});
					}

					this.mescroll.endSuccess(newArr.length);
					//设置列表数据
					if (this.pagenum == 1) this.orderList = []; //如果是第一页需手动制空列表
					this.orderList = this.orderList.concat(newArr); //追加新数据
					if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
				},
				fail: res => {
					this.emptyType = 'order';
					this.emptyShow = true;
					if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
				}
			});
		},
		toDetail(item) {
			this.$util.redirectTo('/pages/order/order-detail/order-detail', {
				order_id: item.order_id,
				status: this.tabObj.status,
				type: '0'
			});

			// if (!uni.getStorageSync('token')) {
			// 	// this.$refs.login.open('');
			// 	this.getLogin(item);
			// } else {
			// 	this.$util.redirectTo('/pages/goods/detail/detail', {
			// 		sku_id: item.sku_id
			// 	});
			// }
		},
		goodsImg(imgStr) {
			let imgs = imgStr.split(',');
			return imgs[0] ?
				this.$util.img(imgs[0], {
					size: 'mid'
				}) :
				this.$util.getDefaultImage().default_goods_img;
		},

		imgError(index) {
			this.goodsList[index].goods_image = this.$util.getDefaultImage().default_goods_img;
		},
		ydhtLoadData(e){
			// 运单合同
			 this.$util.redirectTo('/pages/webview/webview', { type: '94' });
		},
		ckbdLoadData(e){
			// 查看保单
			 this.$util.redirectTo('/pages/webview/webview', { type: '8' });
		},
		htLoadData(e){
			// 合同
			 this.$util.redirectTo('/pages/webview/webview', { type: '7' });
		},
		ewmLoadData(e){
			this.ewmimage = e.qr_code;
			if(!this.check.isNull(this.ewmimage)){
				// 二维码
				 this.$refs.popup.open('center')
			}
		},
		payLoadCheck(e){
			const that = this;
			uni.showModal({
				title: '支付',
				content: '是否去支付?',
				success: (res) => {
					if (res.confirm) {
						that.payLoadData(e);
					}
				}
			})
		},
		payLoadData(e){
			var fee = e.freight_fee;
			var other = e.other_fee;
			var money = 0;
			    //     1:现付  2:货到付款 3:提付',
			    switch (e.pay_mode) {
			        case 1:{
			            switch (e.is_pay) {
			                case 0:{
			                    money = fee+other;
			                    break;
			                }
			                case 1:{
			                    money = fee+other;
			                    break;
			                }
			                default:{
			                    money = other;
			                    break;
			                }
			            }
			            break;
			        }
			        default:{
			            money = fee+other;
			            break;
			        }
			    }
				var obj = {
					money:money,
					order_sn:e.order_sn,
					pay_type:e.pay_mode
				}
			// 去支付
			 this.$util.redirectTo('/pages/order/order-pay/order-pay',obj); 
		},
		qxddLoadCheck(e){
			console.log(e)
			const that = this;
			uni.showModal({
				title: '取消订单',
				content: '是否取消订单？',
				success: (res) => {
					if (res.confirm) {
						that.qxddLoadData(e); 
					}
				}
			})
		},
		qxddLoadData(e){
			console.log(e)
			var data ={
				order_id:e.order_id,
			}
			this.$refs.loadingCover.show();
			 this.http.sendRequest({
			 	api: this.api.order.sOrderCancelApi,
			 	data: data,
			 	success: res => {
					if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
			 		// console.log(res)
					uni.showToast({
						title:res.message
					})
			 		if (res.success == 'true' && res.data) {
			 			 this.getOrderListData();
			 		}
			 	},
				fail: res => {
					if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
				}
			 });
		},
		qpjLoadData(e){
			// 去评价
			let obj = {
				order:e,
			} 
			 this.$util.redirectTo('/pages/order/order-evaluate/order-evaluate', obj, null, 'obj');
			 
		},
		ckgjLoadData(e){
			// 查询轨迹
			 this.$util.redirectTo('/pages/order/order-track/order-track',{order_id : e.order_id});
			
		},
		scddLoadCheck(e){
			const that = this;
			uni.showModal({
				title: '删除订单',
				content: '是否确定删除该订单？',
				success: (res) => {
					if (res.confirm) {
						 that.scddLoadData(e);
					}
				}
			})
		}, 
		scddLoadData(e){
			// var data ={
			// 	order_id:e.order_id,
			// }
			// this.http.sendRequest({
			// 	data: data,
			// 	success: res => {
			// 		// console.log(res)
			// 		if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
			// 		uni.showToast({
			// 			title:res.message
			// 		})
			// 		if (res.success == 'true' && res.data) {
			// 			this.getOrderListData();
			// 		}
			// 	},
			// 	fail: res => {
			// 		if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
			// 	}
			// }); 
		}, 
		getLogin(e) {
			if (!uni.getStorageSync('loginLock')) {
				// #ifdef MP-QQ || MP-BAIDU
				if (e.detail.errMsg == 'getUserInfo:ok') {
					this.getCode(data => {
						if (data) {
							this.toLogin();
						} else {
							this.toLogin();
						}
					});
				}
				// #endif
				// #ifdef MP-WEIXIN
				if (this.canIUseGetUserProfile) {
					wx.getUserProfile({
						desc: '获取用户个人信息', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
						success: res => {
							if (res.errMsg == 'getUserProfile:ok') {
								this.authInfo.nickName = res.userInfo.nickName;
								this.authInfo.avatarUrl = res.userInfo.avatarUrl;
								uni.setStorageSync('authInfo', this.authInfo);
								this.getCode(data => {
									if (data) {
										this.toLogin();
									} else {
										this.toLogin();
									}
								});
							}
						}
					});
				} else if (e.detail.errMsg == 'getUserInfo:ok') {
					this.getCode(data => {
						if (data) {
							this.toLogin();
						} else {
							this.toLogin();
						}
					});
				}
				// #endif
				// #ifndef MP
				this.toLogin();
				// #endif
			} else {
				this.toLogin();
			}
		},

		/**
		 * 跳转去登录页
		 */
		toLogin() {
			var backimg = uni.getStorageSync('DIYVIEW_INDEX_BACK_IMAGE');
			var url = this.$util.img(backimg);
			var data = {
				url: url,
				back: '/pages/goods/list/list'
			};
			console.log(data);
			// this.$util.redirectTo('/otherpages/login/login/fswlogin', data, null, 'obj');
			this.$util.redirectTo('/otherpages/login/login/fswlogin', data);
		}
	}
};
